package com.novasec;

import java.util.List;

import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataAccessException;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

import com.sun.org.apache.xerces.internal.impl.xpath.regex.ParseException;

@Controller
public class NuevoLoginCliente {
	private final Logger logger = Logger.getLogger(NuevoLoginCliente.class);
	
	@Autowired
	private NuevoLoginClienteService nuevoLoginClienteService;
	
	@RequestMapping(value = "/nuevoLoginCliente", method = RequestMethod.GET)
	public ModelAndView regNuevoLoginCliente() {
		
		logger.debug("inicio: nuevo login de cliente");
		return new ModelAndView("formNuevoLogin", "command", new NuevoLoginClienteItem());
	}
	
	@RequestMapping(value = "/nuevoLoginCliente", method = RequestMethod.POST)
	public ModelAndView regNuevoLoginCliente(@ModelAttribute("formNuevoLogin")
			NuevoLoginClienteItem nuevoLoginClienteItem, BindingResult result) throws DataAccessException, ParseException {

		String flagValidaLogin=null;
		String flagValidaRUC_DNI=null;
		
		ModelAndView mav  = new ModelAndView("formNuevoLoginClienteOK", "command", new NuevoLoginClienteItem());
		
	    try{	    	
			List lista  = nuevoLoginClienteService.validarLoginCliente(nuevoLoginClienteItem);
			List lista2 = nuevoLoginClienteService.validarLoginRUC_DNI(nuevoLoginClienteItem);
			//validarLoginRUC_DNI
			
			if(lista.size()>0 || lista2.size()>0){
				if(lista.size()>0)
					flagValidaLogin = "repetido";
				if(lista2.size()>0)
					flagValidaRUC_DNI = "repetido";					
			}else{ 
				nuevoLoginClienteService.guardarNuevoLoginCliente(nuevoLoginClienteItem);
			}				
			//}
				
			mav.addObject("flagValidaLogin", flagValidaLogin);
			mav.addObject("flagValidaRUC_DNI", flagValidaRUC_DNI);
			
	    }
	    catch(Exception e){
	    	e.printStackTrace();
	    }
		
		return mav;
		
	}
	
	
}

